package com.cxx.home.service;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.cxx.home.dto.travel.TravelRecordDto;
import com.cxx.home.dto.travel.TravelSpotDto;
import com.cxx.home.dto.travel.TravelStatsDto;
import com.cxx.home.dto.travel.TravelSummaryDto;
import com.cxx.home.vo.TravelQueryVo;

import java.util.List;

public interface TravelService {
    Boolean addTravelSpot(TravelSpotDto travelSpotDto);

    Boolean updateTravelSpot(Long id, TravelSpotDto travelSpotDto);

    Boolean deleteTravelSpot(Long id);

    Boolean addTravelRecord(TravelRecordDto travelRecordDto);

    Boolean updateTravelRecord(Long id, TravelRecordDto travelRecordDto);

    Boolean deleteTravelRecord(Long id);

    TravelSpotDto queryTravelSpot(Long id);

    IPage<TravelSummaryDto> queryTravelSummary(Integer currentPage, Integer pageSize, TravelQueryVo travelQueryVo);

    List<TravelRecordDto> queryTravelRecord(String startDate, String endDate);

    List<String> queryTravelSpotName();

    List<String> queryTravelCategory();

    TravelStatsDto queryTravelStats();
}
